/**
 * 
 */
package model;

import java.util.Observable;

/**
 * Model der Anzeige
 * 
 * @author Schweingruber Roger
 * @date 11.01.2012
 * @version 1.0
 * 
 */
public class Model extends Observable {

	private int DELAY1;
	private int DELAY2;
	private int DELAY3;

	private int wertBalken1;
	private int wertBalken2;
	private int wertBalken3;

	private int zaehler_1;
	private int zaehler_2;
	private int zaehler_3;

	private boolean aktiv1;
	private boolean aktiv2;
	private boolean aktiv3;

	/**
	 * Konstruktor
	 * 
	 * @param threadGroup
	 * @param args
	 */
	public Model() {

		// Zaehler initialisieren
		zaehler_1 = 0;
		zaehler_2 = 0;
		zaehler_3 = 0;

		wertBalken1 = 0;
		wertBalken2 = 0;
		wertBalken3 = 0;
	}

	/**
	 * Wert des Fortschrittsbalken 1 speichern
	 * 
	 * @param wertBalken1
	 */
	public void setWertBalken1(int wertBalken1) {
		this.wertBalken1 = wertBalken1;

		setChanged();
		notifyObservers("Balken 1");
	}

	/**
	 * Wert des Fortschrittsbalken 1 zurueckgeben
	 * 
	 * @return wertBalken 1
	 */
	public int getWertBalken1() {
		return wertBalken1;
	}

	/**
	 * Wert des Fortschrittsbalken 2 speichern
	 * 
	 * @param wertBalken2
	 */
	public void setWertBalken2(int wertBalken2) {
		this.wertBalken2 = wertBalken2;

		setChanged();
		notifyObservers("Balken 2");
	}

	/**
	 * Wert des Fortschrittsbalken 2 zurueckgeben
	 * 
	 * @return wertBalken2
	 */
	public int getWertBalken2() {
		return wertBalken2;
	}

	/**
	 * Wert des Fortschrittsbalken 3 speichern
	 * 
	 * @param wertBalken3
	 */
	public void setWertBalken3(int wertBalken3) {
		this.wertBalken3 = wertBalken3;

		setChanged();
		notifyObservers("Balken 3");
	}

	/**
	 * Wert des Fortschrittsbalken 3 zurueckgeben
	 * 
	 * @return wertBalken3
	 */
	public int getWertBalken3() {
		return wertBalken3;
	}

	/**
	 * Zaehlerwert 1 addieren und speichern
	 */
	public void setZaehler1() {
		this.zaehler_1++;

		setChanged();
		notifyObservers("delay");
	}

	/**
	 * Zaehler 1 zurueckgeben
	 * 
	 * @return zaehler 1
	 */
	public int getZaehler1() {
		return zaehler_1;
	}

	/**
	 * Zaehlerwert 2 addieren und speichern
	 */
	public void setZaehler2() {
		this.zaehler_2++;

		setChanged();
		notifyObservers("delay");
	}

	/**
	 * Zaehler 2 zurueckgeben
	 * 
	 * @return zaehler 2
	 */
	public int getZaehler2() {
		return zaehler_2;
	}

	/**
	 * Zaehlerwert 3 addieren und speichern
	 */
	public void setZaehler3() {
		this.zaehler_3++;

		setChanged();
		notifyObservers("delay");
	}

	/**
	 * Zaheler 3 zurueckgeben
	 * 
	 * @return zaehler 3
	 */
	public int getZaehler3() {
		return zaehler_3;
	}

	/**
	 * Delay 1 speichern
	 * 
	 * @param delay1
	 */
	public void setDelay1(int delay1) {
		this.DELAY1 = delay1;
	}

	/**
	 * Delay 1 zurueckgeben
	 * 
	 * @return delay1
	 */
	public int getDelay1() {
		return DELAY1;
	}

	/**
	 * Delay 2 speichern
	 * 
	 * @param delay2
	 */
	public void setDelay2(int delay2) {
		this.DELAY2 = delay2;
	}

	/**
	 * Delay 2 zurueckgeben
	 * 
	 * @return delay2
	 */
	public int getDelay2() {
		return DELAY2;
	}

	/**
	 * Delay 3 speichern
	 * 
	 * @param delay3
	 */
	public void setDelay3(int delay3) {
		this.DELAY3 = delay3;
	}

	/**
	 * Delay 3 zurueckgeben
	 * 
	 * @return delay3
	 */
	public int getDelay3() {
		return DELAY3;
	}

	/**
	 * Status Thread 1 speichern
	 * 
	 * @param aktiv1
	 */
	public void setAktiv1(boolean aktiv1) {
		this.aktiv1 = aktiv1;

		setChanged();
		notifyObservers("aktiv");
	}

	/**
	 * Status Thread 1 zurueckgeben
	 * 
	 * @return aktiv1
	 */
	public boolean getAktiv1() {
		return aktiv1;
	}

	/**
	 * Status Thread 2 speichern
	 * 
	 * @param aktiv2
	 */
	public void setAktiv2(boolean aktiv2) {
		this.aktiv2 = aktiv2;

		setChanged();
		notifyObservers("aktiv");
	}

	/**
	 * Status Thread 2 zurueckgeben
	 * 
	 * @return aktiv2
	 */
	public boolean getAktiv2() {
		return aktiv2;
	}

	/**
	 * Status Thread 3 speichern
	 * 
	 * @param aktiv3
	 */
	public void setAktiv3(boolean aktiv3) {
		this.aktiv3 = aktiv3;

		setChanged();
		notifyObservers("aktiv");
	}

	/**
	 * Status Thread 3 zurueckgeben
	 * 
	 * @return aktiv3
	 */
	public boolean getAktiv3() {
		return aktiv3;
	}
}
